package n1159;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	static int c[][]=new int[2][5001];
	
	//最长公共子序列LCS压缩存储
	static void solve(int N,String sa,String sb)
	{
		for(int i=0;i<N+1;i++)
		{
			c[1][i]=0;
			c[0][i]=0;
		}
		
		for(int i=1;i<N+1;i++)
		{
			for(int j=1;j<N+1;j++)
			{
				if(sa.charAt(i-1)==sb.charAt(j-1))
				{
					c[1][j]=c[0][j-1]+1;
				}else{
					c[1][j]=Math.max(c[1][j-1],c[0][j]);
				}
			}
			for(int k=0;k<N+1;k++)
			{
				c[0][k]=c[1][k];
			}
		}
		System.out.println(N-c[1][N]);
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {

		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		int N=Integer.parseInt(bf.readLine());
		String sa=bf.readLine().trim();
		char[] ch=new char[N];
		for(int i=0;i<N;i++)ch[i]=sa.charAt(N-i-1);
		String sb=String.valueOf(ch);
		solve(N, sa, sb);
	}

}
